Notificações Push no iOS
Aqui você aprenderá como configurar todas as funções do SDK do Group Link para suportar Notificações Push em seu aplicativo.
Passo 1 - Ativar a Entitlement de Notificação Push
Na aba Signing & Capabilities das configurações do seu alvo, clique no botão “+ Capability” e adicione a capacidade Push Notification.
Página de Signing & Capabilities
Tela de Capacidade de Notificação Push
Ativar o modo de background necessário
O suporte a Notificações Push do framework Group Link precisa da permissão de Notificação Remota dentro da entitlement de Modos de Fundo para funcionar corretamente.
Passo 2 - Pedir Permissão
Agora, para pedir permissão ao usuário para mostrar notificações, abaixo está o código de como implementar essa função.
Implementação em Swift - Com Badges
let center = UNUserNotificationCenter.current()
func requestNotification() {
center.requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
if let error = error {
print("Erro ao pedir notificações: \(error)")
}
print("usuário concedeu notificação")
// Habilitar ou desabilitar recursos com base na autorização.
}
}
Implementação em Swift - Sem Badges
let center = UNUserNotificationCenter.current()
func requestNotification() {
center.requestAuthorization(options: [.alert, .sound]) { granted, error in
if let error = error {
print("Erro ao pedir notificações: \(error)")
}
print("usuário concedeu notificação")
// Habilitar ou desabilitar recursos com base na autorização.
}
}
Implementação em Objective-C
- (void)askNotificationPermission {
UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];
[center requestAuthorizationWithOptions:(UNAuthorizationOptionAlert + UNAuthorizationOptionSound)
completionHandler:^(BOOL granted, NSError * _Nullable error) {
// Habilitar ou desabilitar recursos com base na autorização.
}];
[[UIApplication sharedApplication] registerForRemoteNotifications];
}
Chame essa função em qualquer lugar do seu aplicativo. No próximo exemplo, usaremos o início do aplicativo.
Implementação em SwiftUI
@main
struct Group_Link_SettingsApp: App {
init() {
self.requestNotification()
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
Implementação em UIKit
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
self.requestNotification()
return true
}
}
Implementação em Objective-C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self askPermission];
return YES;
}
Passo 3 - Registrar para Notificações Push
Em seguida, você deve implementar o UIApplication.shared.registerForRemoteNotifications()
dentro da função didFinishLaunchingWithOptions
no seu arquivo AppDelegate. Se você estiver usando SwiftUI para desenvolver, precisará usar o UIApplicationDelegateAdaptor
para implementar.
Implementação em Swift
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
UIApplication.shared.registerForRemoteNotifications()
return true
}
}
@main
struct Group_Link_SettingsApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
Implementação em UIKit
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
UIApplication.shared.registerForRemoteNotifications()
return true
}
}
Implementação em Objective-C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[application registerForRemoteNotifications];
return YES;
}
Passo 4 - Configurando a Extensão de Notificações Push
Para receber os KPIs de notificações para o seu aplicativo, você precisará configurar a extensão de notificação no seu app. Para configurar, basta seguir o guia abaixo.
Configurando a Extensão de Serviço de Notificação
Primeiro, você deve criar uma Notification Service Extension, é simples, basta ir à aba Geral do seu arquivo de projeto e, no menu de alvos, clicar no sinal de mais.
Sinal de mais de Extensões dentro do seu projeto
Após clicar, uma janela aparecerá para selecionar o tipo de extensão que você deseja. A Apple fornecerá uma variedade de extensões para o seu aplicativo, mas você escolherá a Notification Extension Service, essa extensão tem como objetivo implementar notificações ricas, como notificações com imagens, URLs e mais dados.
Menu de Extensão de Serviço de Notificação
O Xcode perguntará se você deseja depurar a Notification Service Extension em vez do seu aplicativo. Clique em Ativar ou Cancelar para continuar depurando seu aplicativo.
Tela de Depuração de Extensão